﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Linq;
using Common;
using System.Web.Security;

namespace WebApplication1
{
    public partial class RegistroUsuarios : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnGuardarCambios_Click(object sender, EventArgs e)
        {
            RegistrarUsuario();
        }


        #region  RegistrarUsuario
        private void RegistrarUsuario()
        {

            
            try
            {

                #region  Guarda Usuarios
                Model.DataClassesSidanzaDataContext contexto = new Model.DataClassesSidanzaDataContext();
                Model.ADM_USUARIO objADM_USUARIO = new Model.ADM_USUARIO();

                objADM_USUARIO.USU_TIPO = Convert.ToChar(ConfigurationManager.AppSettings["TipoDeUsuarioPorDefecto"].ToString());
                objADM_USUARIO.USU_CARGO = ConfigurationManager.AppSettings["CargoDelUsuarioPorDefecto"].ToString();
                objADM_USUARIO.USU_DIAS_EXPIRACION = Convert.ToInt32(ConfigurationManager.AppSettings["DiasExpiracionContrasenaPorDefecto"].ToString());
                objADM_USUARIO.USU_CAMBIO_CLAVE = Convert.ToChar(ConfigurationManager.AppSettings["CambioDeClavePorDefecto"].ToString());
                objADM_USUARIO.USU_ESTADO = Convert.ToChar(ConfigurationManager.AppSettings["EstadoDelUsuarioPorDefecto"].ToString());
                //objADM_USUARIO.usu perfilId = Convert.ToInt32(ConfigurationManager.AppSettings["IdPerfilDeUsuarioPorDefecto"].ToString());
                objADM_USUARIO.USU_USUARIO = txtCorreoElectronico.Text;
                objADM_USUARIO.USU_CORREO_ELECTRONICO = txtCorreoElectronico.Text;
                objADM_USUARIO.USU_NOMBRE = txtNombre.Text;
                FE_Symmetric objSymetric = new FE_Symmetric();
                objADM_USUARIO.USU_CLAVE = objSymetric.EncryptData(ConfigurationManager.AppSettings["EncryptionKey"].ToString(), txtContrasena.Text);
                contexto.ADM_USUARIOs.InsertOnSubmit(objADM_USUARIO);
                contexto.SubmitChanges();
                
                #endregion

                #region Guarda Perfil Usuario
                Model.ADM_PERFILES_USUARIO objADM_PERFILES_USUARIO = new Model.ADM_PERFILES_USUARIO();

                objADM_PERFILES_USUARIO.USU_ID = objADM_USUARIO.USU_ID;
                objADM_PERFILES_USUARIO.PER_ID = Convert.ToDecimal(ConfigurationManager.AppSettings["IdPerfilDeUsuarioPublico"].ToString());
                contexto.ADM_PERFILES_USUARIOs.InsertOnSubmit(objADM_PERFILES_USUARIO);
                contexto.SubmitChanges(); 
                #endregion
                


                msgBox1.alert("El usuario se creo exitosamente");


                FormsAuthentication.SetAuthCookie(txtNombre.Text, false);
                Server.Transfer("admin/Default.aspx");
            }
            catch (Exception ex)
            {
                lblMensaje.Text = ex.Message.ToString();

            }

            //BusinessRules.Usuarios objUsuarios = new BusinessRules.Usuarios(ConfigurationManager.AppSettings["conn"].ToString());
            //decimal decUsuario = 0;
            //int inRetorno = 0;
            //inRetorno = objUsuarios.AdicionarUsuarioTeatro(perfilId, tipo, txtCorreoElectronico.Text, txtNombre.Text, cargo, txtDireccion.Text,
            //                             txtTelefono.Text, txtCorreoElectronico.Text, diasExpiracion,
            //                             txtContrasena.Text, cambioClave, estado, 0, "", ref decUsuario);
            //if (inRetorno == 1)
            //{
            //    crearContextItems();
            //    txtNombre.Text = "";
            //    txtCorreoElectronico.Text = "";
            //    txtContrasena.Text = "";
            //    txtConfirmarContrasena.Text = "";
            //    msgBox1.alert("El usuario se registro exitosamente");
            //    Server.Transfer("login.aspx", true);
            //}
            //else if (inRetorno == 0)
            //    msgBox1.alert("El correo electronico ya se encuentra registrado");
            //else if (inRetorno == -1)
            //    msgBox1.alert("El usuario ya se encuentra registrado");
            //litMensajeCaptcha.Text = "";



        }
        #endregion
    }
}